Java Garbage Collection Scheduling in Utility Accrual Scheduling Environments
نویسندگان
چکیده
Convenience, reliability, and effectiveness of automatic memory management have long been established in modern systems and programming languages such as Java. The timeliness requirements of real-time systems, however, impose specific demands on the operational parameters of the garbage collector. The memory requirements of real-time tasks must be accommodated with a predictable impact on the timeline, and under the purview of the scheduler. Utility Accrual is a method of dynamic overload scheduling that is designed to respond to CPU overload conditions by producing a schedule that heuristically maximize a predefined metric of utility. There also exists in such systems the possibility of memory overload situations in which the cumulative memory demand exceeds the amount of memory available. This paper presents a utility accrual algorithm for uniprocessor CPU and garbage collection scheduling that addresses memory overload conditions. By tightly linking CPU and memory allocation, the scheduler can now appropriately respond to overload along both dimensions. This scheduler is the first of its kind to enable the use of automatic memory management in a utility accrual system. Experimental results using actual Java application profiles indicate the viability of this model.
منابع مشابه
Garbage Collection Scheduling for Utility Accrual Real-Time Systems
Utility Accrual (UA) scheduling is a method of dynamic real-time scheduling that is designed to respond to overload conditions by producing a feasible schedule that heuristically maximizes a pre-defined metric of utility. Whereas utility accrual schedulers have traditionally focused on CPU overload, this dissertation explores memory overload conditions during which the aggregate memory demand e...
متن کاملProviding hints for garbage collection
This paper presents a mechanism that uses off-line profile information to examine when garbage is best collected. This information is then used to guide the garbage collection frequency in order to reduce the garbage collection time and total execution time. Keywords—Java, garbage collection, scheduling
متن کاملSHAP — Secure Hardware Agent Platform
This paper presents a novel implementation of an embedded Java microarchitecture for secure, realtime, and multi-threaded applications. Together with the support of modern features of object-oriented languages, such as exception handling, automatic garbage collection and interface types, a general-purpose platform is established which also fits for the agent concept. Especially, considering rea...
متن کاملOn Scheduling Exception Handlers in Dynamic Real-Time Systems
We consider the problem of scheduling exception handlers in real-time systems that operate under runtime uncertainties including those on execution times, activity arrivals, and failure occurrences. The application/scheduling model includes activities and their exception handlers that are subject to time/utility function (TUF) time constraints and an utility accrual (UA) optimality criterion. A...
متن کاملUtilitiy Accrual Scheduling with Real-Time Java
Graceful performance degradation during overload conditions is the primary objective of soft real-time systems. Utility accrual soft real-time scheduling algorithms allow speci cation of highly customized temporal system behavior during overload. Such algorithms are typically found in realtime supervisory systems where signi cant run-time uncertainty exists. This paper outlines an investigation...
متن کامل